Many telecommunications networks, such as for making video calls using videophones, operate over a network and in particular the Internet that is used for other purposes. The bandwidth requirements of a video call over a video phone are high and for a good quality call experience it is important that those bandwidth requirements are consistently met from the network even in the presence of other data for other purposes using the network.
Current compressed media streams used for video phone calls are vulnerable to lost packets because information in the current packet often makes reference to information which should have been received in a previous packet. So, if that previous packet is not delivered the decoder at the far-end of the video phone call must somehow recover from the situation. This is typically achieved by requesting retransmission of the lost information or filling in with made-up information. In either case, the user will observe a discontinuity of video or audio which is not desirable.
Media devices such as telephones and videophones that work across such networks and in particular the Internet require some mechanism whereby they can efficiently share the network infrastructure with other network devices, such as computers and other non-video phone usage, taking into consideration the requirements of media streams to and from the devices and how they differ from those of ordinary data.
Examples of known telecommunication arrangements for achieving this are illustrated in FIGS. 1 and 2. The example arrangements illustrated have been simplified to aid understanding.
In the telecommunication network 7 of FIG. 1, a media device 2 in the form of a video phone is illustrated connected to the Internet 1 via a bandwidth-constrained link 4 controlled by a router 6. The media device 2 sends media, including a packetized audio stream and a packetized video stream, to a receiving device 3 in the form of another video phone. A competing device on the network, a personal computer (PC) 5 will also attempt to send information to the Internet over the same link causing what is described herein as a competing event. Under these circumstances, some compromise must be reached whereby the importance of the various data streams will determine the proportion of bandwidth that should be dedicated to them on the constrained link 4.
Wide-area networks such as the Internet 1 also have a very small randomly distributed packet loss. This is because the Internet is made up of small networks 31 (three such small networks are illustrated in FIG. 1 as a simple example) that are connected together by high bandwidth trunks 32 and there is often oversubscription on these high bandwidth trunks 32. However, these high bandwidth trunks or links carry so much traffic that the prior art considers that individual end users or media devices 2,3 will not be significantly impacted upon and so they are typically ignored in this context.
Real-time media streams for a call between video phones 2,3 typically have a minimum bandwidth threshold below which the media stream quality will be considered too bad to be acceptable. The router 6 controlling the constrained-bandwidth link 4 is configured to prioritise the traffic from real-time media streams up to this minimum bandwidth threshold and above this threshold to balance traffic from competing events such as from other sources, such as PC 5.
Since the router 6 allows bandwidth balancing for bandwidth between the minimum bandwidth threshold and the maximum bandwidth, if this region is used for the media stream between video phones 2,3 there will inevitably be unexpected packet loss which will result in the undesirable discontinuities whilst the streams recover.
There are two known types of arrangement that attempt to address this problem as follows.
One known attempt to address this problem is for the transmitting endpoint or video phone 2 to limit the media stream rate to the minimum bandwidth threshold. This ensures that packet loss is unlikely, but when no other device (such as PC 5) is using the bandwidth above the minimum threshold, this bandwidth is wasted instead of being used to improve video or audio quality of the media stream between video phones 2,3.
The other known attempt to address this problem is for the transmitting endpoint or video phone 2 to begin transmitting at maximum media stream rate and to react to packet loss, reducing the stream bitrate, until the packet loss rate is acceptable. FIG. 2 illustrates, in the form of a graph, how such an arrangement behaves. Broadly, the bandwidth 10 used by the media device 2 starts off at the maximum bandwidth 12, but data transmission from the PC 5 at times indicated by 13, 14 and 15 cause the media bitrate to drop to the minimum bandwidth indicated by 16.
The graph horizontal axis 11 is time and the area 10 shows the bandwidth utilisation by the media stream. The media stream begins transmitting at the maximum available bandwidth rate 12. After a while, at 13, the PC sends some data to the Internet 1 via router 6 and constrained link 4. This causes packet loss in the media stream in the constrained link. The receiving telephone 3 detects this loss and the transmitting phone 2 reacts by reducing the bitrate generated for the media stream. After a second period, at 14, the PC sends a larger chunk of data which causes more packet loss in the media stream in the constrained link. The transmitting telephone reacts again by reducing the bitrate yet further, which is, in this example, the minimum bandwidth threshold 16 for the media stream between the video phones 2,3. Later on, at 15, the PC sends a relatively small chunk of data. However, there has been no increase in the bandwidth available to the media stream between the video phones 2,3. So, in practice, this arrangement is no better off for at least some of the time illustrated than in the first solution described above as regards bandwidth available to the media stream between video phones 2,3, and the user has experienced two discontinuities in video or audio. Indeed, in practice, often the media stream bandwidth available between videophones 2,3 drops very quickly to the minimum bandwidth threshold and communication is largely effectively as the first arrangement described above.
It is considered that, if the transmitting telephone 2 attempts to increase the media bitrate in the hope that the competing event has finished, there is a high probability that packet loss will occur which will cause discontinuities that the user of the video phone end point devices 2,3 will notice. For this reason, it is considered beneficial in known implementations as explained above to remain at the lower bit rate for the remainder of the video phone call.
Another problem is evident in Internet telephony, which involves audio streams being sent over a wide-area network. The streams are sent as a series of packets containing timestamps and sequence numbers. The packets are not guaranteed to be delivered, and there is often a small but observable packet loss as a stream is sent across sections of the public Internet. The packet loss is usually a result of two effects. Firstly, too much data may be sent along a comparatively low bitrate “last-mile” connection (a communication connection near the target location, such as a local broadband connection). For example, during a telephone call an e-mail may be sent by a user using the same local broadband connection that causes the local broadband connection to become congested. In this circumstance, bandwidth management can be used to adjust the audio codec parameters to reduce the bitrate to allow both audio and email to share the connection. Secondly, the loss may be due to oversubscription on the trunks connecting Internet Service Providers (such as the high bandwidth trunks 32 of FIG. 1). In this circumstance, the amounts of data are so large that a single user cannot make a significant impact on the packet loss, and so adjusting a codec's bitrate will not alleviate the problem. This type of loss appears as a constant low background loss level as explained above.
When the packet loss is due to background losses, the two approaches to managing the problem are either to hide the missing packets by error concealment techniques such as playing the last packet again, or using forward error correction (FEC) to recover the contents of the missing packet.
Most FEC techniques allow a missing packet to be reconstructed by extra information held in the following N packets. If N is small then the size of the extra data must be large, but if N is large then it will take a long time for the missing packet to be reconstructed.
Since Internet telephony must be low latency, N must be kept small which means that to reconstruct the missing packets using known FEC techniques there must be a large overhead. For minimum latency N must be 1, and therefore the data rate must be doubled.